package org.jeecg.modules.oms.service;

import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.oms.entity.DesignFileAudit;

import java.util.List;

/**
 * 设计文件审核Service接口
 */
public interface IDesignFileAuditService extends IService<DesignFileAudit> {
    
    /**
     * 提交审核
     * @param fileAudit 审核信息
     * @return 是否成功
     */
    boolean submitAudit(DesignFileAudit fileAudit);
    
    /**
     * 审核通过
     * @param auditId 审核ID
     * @param auditPersonId 审核人ID
     * @param auditPersonName 审核人姓名
     * @param auditOpinion 审核意见
     * @return 是否成功
     */
    boolean approveAudit(String auditId, String auditPersonId, String auditPersonName, String auditOpinion);
    
    /**
     * 审核拒绝
     * @param auditId 审核ID
     * @param auditPersonId 审核人ID
     * @param auditPersonName 审核人姓名
     * @param auditOpinion 审核意见
     * @return 是否成功
     */
    boolean rejectAudit(String auditId, String auditPersonId, String auditPersonName, String auditOpinion);
    
    /**
     * 根据文件ID查询审核记录
     * @param fileId 文件ID
     * @return 审核记录列表
     */
    List<DesignFileAudit> getAuditsByFileId(String fileId);
    
    /**
     * 根据订单ID查询审核记录
     * @param orderId 订单ID
     * @return 审核记录列表
     */
    List<DesignFileAudit> getAuditsByOrderId(String orderId);
    
    /**
     * 获取最新的审核记录
     * @param fileId 文件ID
     * @param auditType 审核类型
     * @return 审核记录
     */
    DesignFileAudit getLatestAuditByFileId(String fileId, Integer auditType);
} 